Stricter validation and error handling in GDS server & Server Method Call validation#3746
Stricter validation and error handling in GDS server & Server Method Call validation#3746romanett wants to merge 13 commits into
Conversation
- Allow empty DatabaseStorePath for in-memory operation - Select database type dynamically in GdsNodeManagerFactory - Enforce required fields and argument validation in ApplicationsDatabaseBase - Prevent duplicate application URIs in LinqApplicationsDatabase - Propagate argument errors as OPC UA service exceptions in ApplicationsNodeManager - Remove obsolete attribute from ParsedNodeId - Refactor MasterNodeManager write/call validation to async with improved permission checks and attribute caching - Update UAReferenceServer.ctt.xml test data with non-empty credentials - Improves robustness, security, error reporting, and test coverage
|
ToDo: fix strange permissions only parameter in NodeManagers + MasterNodeManager |
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## master #3746 +/- ##
==========================================
- Coverage 72.14% 72.01% -0.13%
==========================================
Files 597 598 +1
Lines 122192 122395 +203
Branches 20582 20618 +36
==========================================
- Hits 88154 88147 -7
- Misses 27997 28206 +209
- Partials 6041 6042 +1 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
@copilot Please add Tests for ApplicationsDatabaseBase |
Agent-Logs-Url: https://github.com/OPCFoundation/UA-.NETStandard/sessions/0caf8699-f0e0-4dd5-8dcf-368b08912205 Co-authored-by: romanett <7413710+romanett@users.noreply.github.com>
|
|
Agent-Logs-Url: https://github.com/OPCFoundation/UA-.NETStandard/sessions/0caf8699-f0e0-4dd5-8dcf-368b08912205 Co-authored-by: romanett <7413710+romanett@users.noreply.github.com>
Implemented this in c52718f (refined in 7d359cd): added new
Added coverage in c52718f (plus naming refinement in 7d359cd): new |
|
@copilot please add the FindMethodState / FindMethodStateAsync to INodeManger3/IAsyncNodeManager interfaces directly. Also use the Methods in the CustomNodeManager / AsyncCustomNodeManager in the Call / CallAsync paths to reduce code duplication. In the MasterNodeManager use IAsyncNodeManager directly and rely on the adapter to resolve the method. Also fix test failures. |
Agent-Logs-Url: https://github.com/OPCFoundation/UA-.NETStandard/sessions/0bb87dfd-f432-431f-a0fe-dd4d1ba3197f Co-authored-by: romanett <7413710+romanett@users.noreply.github.com>
Agent-Logs-Url: https://github.com/OPCFoundation/UA-.NETStandard/sessions/0bb87dfd-f432-431f-a0fe-dd4d1ba3197f Co-authored-by: romanett <7413710+romanett@users.noreply.github.com>
Done in bb34a01 (refined in 016acf2): |
|
@copilot please fix the failing GDS tests |
Agent-Logs-Url: https://github.com/OPCFoundation/UA-.NETStandard/sessions/47d99514-94f9-4051-9e6d-8cb2b44555d0 Co-authored-by: romanett <7413710+romanett@users.noreply.github.com>
Fixed in 636fd84. I updated the failing GDS tests in |
|
@copilot please fix the aot gds TestsFixture to Work with an RSA Security policy |
Agent-Logs-Url: https://github.com/OPCFoundation/UA-.NETStandard/sessions/f6c8fba1-3dbf-41f0-b920-5e1766b9d6e1 Co-authored-by: romanett <7413710+romanett@users.noreply.github.com>
Fixed in 9f7d8d2. I updated the AOT GDS fixture to provision/validate client certificates before connect, prefer RSA SignAndEncrypt endpoint selection, and constrain the test server to an RSA application certificate. I also updated the AOT update test to align with current GDS update semantics and reran the AOT publish+native test run successfully (71/71 passed). |
Stricter validation and error handling in GDS server
Allow empty DatabaseStorePath for in-memory operation
Select database type dynamically in GdsNodeManagerFactory
Enforce required fields and argument validation in ApplicationsDatabaseBase
Prevent duplicate application URIs in LinqApplicationsDatabase
Propagate argument errors as OPC UA service exceptions in ApplicationsNodeManager
Remove obsolete attribute from ParsedNodeId
Update UAReferenceServer.ctt.xml test data with non-empty credentials
Improves robustness, security, error reporting, and test coverage
Introdcue MasterNodeManager call validation with permission checks and attribute caching
Types of changes
Checklist